#define _CRT_SECURE_NO_WARNINGS 1
//交换两个整数，但不能创建第三个变量
#include <stdio.h>
//法一：
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d%d", &a, &b);
//	a = a + b;
//	b = a - b;
//	a = a - b;
//	printf("%d %d", a, b);
//	return 0;
//}
 
//^ 的技巧
//1.相同为0，相异为1；
//2.a ^ 0 = a;任何数^0得到自己本身
//3.a ^ a = 0;自己和自己^得到0

//法二：
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d", &a, &b);
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("%d %d", a, b);
}

//a = 5,b = 3
//00000000000000000000000000000101 a的源码
//00000000000000000000000000000011 b的源码
//a = a^b
//00000000000000000000000000000110
//b = a^b
//00000000000000000000000000000110
//00000000000000000000000000000011 
//00000000000000000000000000000101 ->5
//a = a^b
//00000000000000000000000000000110
//00000000000000000000000000000101
//00000000000000000000000000000011 ->3
